package com.su.controller;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

import javax.annotation.Resource;

import net.sf.json.JSONObject;

import org.springframework.stereotype.Service;

import com.su.tools.DaoSupport1;
import com.su.tools.PageData;
import com.su.util.UuidUtil;


@Service("portalService")
public class PortalService {
	
	@Resource(name = "daoSupport1")
	private DaoSupport1 dao;
	private JSONObject json = new JSONObject();
	private PageData retPd;
	private List<PageData> retListPd;
	public JSONObject invoke(PageData pd) throws Exception {
		//
		
		String pa = pd.getString("params");
		
		if (pd.getString("params").equals("CKL01")) {
			this.CKL01(pd);
		} else if(pd.getString("params").equals("REG01")){
			this.REG01(pd);
		} else if(pd.getString("params").equals("LOG01")){
			this.LOG01(pd);
		} else if(pd.getString("params").equals("GITL01")){
			this.GITL01(pd);
		} else if(pd.getString("params").equals("GILP01")){
			this.GILP01(pd);
		} else if(pd.getString("params").equals("GSI01")){
			this.GSI01(pd);
		} else{		
			json.put("code","100");
			json.put("msg", "没有找到该业务代码");
			return json;
		}
		return json;
	}
	
	
	private void GSI01(PageData pd) {
		try {
			retPd=dao.getOne("portalMapper.getSingleItem", pd);						
			if(retPd!=null && retPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "查询成功");
				json.put("data", retPd);	
			}else{
				json.put("state", "404");
				json.put("msg", "查询失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "500");
			json.put("msg", "查询失败");
			json.put("data", "");
		}
	}
	
	private void GILP01(PageData pd) {
		try {		
			
			Date d = new Date();
	        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
	        String dateNow = sdf.format(d);
	        pd.put("dateNow", dateNow);
			
			retListPd =dao.getList("portalMapper.getItemListByPage", pd);
			retPd=dao.getOne("portalMapper.getItemListTotalCount", pd);			
			String totalCount = retPd.get("COUNT").toString();					
			if(retListPd!=null && retListPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "查询成功");
				json.put("data", retListPd);	
				json.put("totalCount", totalCount);
			}else{
				json.put("state", "404");
				json.put("msg", "查询失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "500");
			json.put("msg", "查询失败");
			json.put("data", "");
		}
	}
	
	private void GITL01(PageData pd) {
		try {			
			retListPd =dao.getList("portalMapper.getPartItemList", pd);
			if(retListPd!=null && retListPd.size()>0 ){
				json.put("state", "200");
				json.put("msg", "查询成功");
				json.put("data", retListPd);				
			}else{
				json.put("state", "404");
				json.put("msg", "查询失败");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "500");
			json.put("msg", "不存在当前用户");
			json.put("data", "");
		}
	}
	
	
	private void LOG01(PageData pd) {
		try {			
			retPd=dao.getOne("portalMapper.getPortalUser", pd);
			if(retPd!=null && retPd.size()>0 ){
				json.put("state", "1");
				json.put("msg", "登录成功");
				//json.put("data", retPd);
				pd.getRequest().getSession().setAttribute("portalUser", retPd);
			}else{
				json.put("state", "0");
				json.put("msg", "登录失败,请重新登录");
				json.put("data", "");
			}			
		} catch (Exception e) {			
			json.put("state", "0");
			json.put("msg", "不存在当前用户");
			json.put("data", "");
		}
	}
	
	
	private void REG01(PageData pd) {
		try {			
			retPd=dao.getOne("portalMapper.existPortalUser", pd);
			String puser=null;
			String obj = retPd.get("COUNT").toString();
			
			if((Integer.parseInt(retPd.get("COUNT").toString()))!=0){
				json.put("state", "0");
				json.put("msg", "当前手机用户已存在,请重新输入");
				json.put("data", "");
			}else{
				Date d = new Date();
		        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		        String dateNow = sdf.format(d);
		        pd.put("CREATE_DATE", dateNow);
		        pd.put("CODE", UuidUtil.get32UUID());		        
				int	rows=dao.insert("portalMapper.insertApplyUser", pd);
				if(rows>0){
					json.put("state", "1");
					json.put("msg", "注册成功");
					pd.getRequest().getSession().setAttribute("portalUser", pd);					
				}else{
					json.put("status", "false");
				}	
			}			
		} catch (Exception e) {			
			json.put("state", "0");
			json.put("msg", "不存在当前用户");
			json.put("data", "");
		}
	}
	
	
	private void CKL01(PageData pd) {
		try {		    			
			PageData puser =  (PageData)pd.getRequest().getSession().getAttribute("portalUser");		
			if(puser.get("PHONE_NUMBER") == null || "".equals(puser.get("PHONE_NUMBER"))){
				json.put("state", "0");
				json.put("msg", "不存在当前用户");
				json.put("data", "");
			}else {
				json.put("state", "1");
				json.put("msg", "存在当前用户");
				json.put("data", puser);				
			}					
		} catch (Exception e) {			
			json.put("state", "0");
			json.put("msg", "不存在当前用户");
			json.put("data", "");
		}
	}

}
